package com.zheng.pay.dao.model;

import java.io.Serializable;
import java.util.Date;

public class PayMchNotify implements Serializable {
    /**
     * 订单ID
     *
     * @mbg.generated
     */
    private String orderid;

    /**
     * 商户ID
     *
     * @mbg.generated
     */
    private String mchid;

    /**
     * 商户订单号
     *
     * @mbg.generated
     */
    private String mchorderno;

    /**
     * 订单类型:1-支付,2-转账,3-退款
     *
     * @mbg.generated
     */
    private String ordertype;

    /**
     * 通知地址
     *
     * @mbg.generated
     */
    private String notifyurl;

    /**
     * 通知次数
     *
     * @mbg.generated
     */
    private Byte notifycount;

    /**
     * 通知响应结果
     *
     * @mbg.generated
     */
    private String result;

    /**
     * 通知状态,1-通知中,2-通知成功,3-通知失败
     *
     * @mbg.generated
     */
    private Byte status;

    /**
     * 最后一次通知时间
     *
     * @mbg.generated
     */
    private Date lastnotifytime;

    /**
     * 创建时间
     *
     * @mbg.generated
     */
    private Date createtime;

    /**
     * 更新时间
     *
     * @mbg.generated
     */
    private Date updatetime;

    private static final long serialVersionUID = 1L;

    public String getOrderid() {
        return orderid;
    }

    public void setOrderid(String orderid) {
        this.orderid = orderid;
    }

    public String getMchid() {
        return mchid;
    }

    public void setMchid(String mchid) {
        this.mchid = mchid;
    }

    public String getMchorderno() {
        return mchorderno;
    }

    public void setMchorderno(String mchorderno) {
        this.mchorderno = mchorderno;
    }

    public String getOrdertype() {
        return ordertype;
    }

    public void setOrdertype(String ordertype) {
        this.ordertype = ordertype;
    }

    public String getNotifyurl() {
        return notifyurl;
    }

    public void setNotifyurl(String notifyurl) {
        this.notifyurl = notifyurl;
    }

    public Byte getNotifycount() {
        return notifycount;
    }

    public void setNotifycount(Byte notifycount) {
        this.notifycount = notifycount;
    }

    public String getResult() {
        return result;
    }

    public void setResult(String result) {
        this.result = result;
    }

    public Byte getStatus() {
        return status;
    }

    public void setStatus(Byte status) {
        this.status = status;
    }

    public Date getLastnotifytime() {
        return lastnotifytime;
    }

    public void setLastnotifytime(Date lastnotifytime) {
        this.lastnotifytime = lastnotifytime;
    }

    public Date getCreatetime() {
        return createtime;
    }

    public void setCreatetime(Date createtime) {
        this.createtime = createtime;
    }

    public Date getUpdatetime() {
        return updatetime;
    }

    public void setUpdatetime(Date updatetime) {
        this.updatetime = updatetime;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", orderid=").append(orderid);
        sb.append(", mchid=").append(mchid);
        sb.append(", mchorderno=").append(mchorderno);
        sb.append(", ordertype=").append(ordertype);
        sb.append(", notifyurl=").append(notifyurl);
        sb.append(", notifycount=").append(notifycount);
        sb.append(", result=").append(result);
        sb.append(", status=").append(status);
        sb.append(", lastnotifytime=").append(lastnotifytime);
        sb.append(", createtime=").append(createtime);
        sb.append(", updatetime=").append(updatetime);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        PayMchNotify other = (PayMchNotify) that;
        return (this.getOrderid() == null ? other.getOrderid() == null : this.getOrderid().equals(other.getOrderid()))
            && (this.getMchid() == null ? other.getMchid() == null : this.getMchid().equals(other.getMchid()))
            && (this.getMchorderno() == null ? other.getMchorderno() == null : this.getMchorderno().equals(other.getMchorderno()))
            && (this.getOrdertype() == null ? other.getOrdertype() == null : this.getOrdertype().equals(other.getOrdertype()))
            && (this.getNotifyurl() == null ? other.getNotifyurl() == null : this.getNotifyurl().equals(other.getNotifyurl()))
            && (this.getNotifycount() == null ? other.getNotifycount() == null : this.getNotifycount().equals(other.getNotifycount()))
            && (this.getResult() == null ? other.getResult() == null : this.getResult().equals(other.getResult()))
            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
            && (this.getLastnotifytime() == null ? other.getLastnotifytime() == null : this.getLastnotifytime().equals(other.getLastnotifytime()))
            && (this.getCreatetime() == null ? other.getCreatetime() == null : this.getCreatetime().equals(other.getCreatetime()))
            && (this.getUpdatetime() == null ? other.getUpdatetime() == null : this.getUpdatetime().equals(other.getUpdatetime()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getOrderid() == null) ? 0 : getOrderid().hashCode());
        result = prime * result + ((getMchid() == null) ? 0 : getMchid().hashCode());
        result = prime * result + ((getMchorderno() == null) ? 0 : getMchorderno().hashCode());
        result = prime * result + ((getOrdertype() == null) ? 0 : getOrdertype().hashCode());
        result = prime * result + ((getNotifyurl() == null) ? 0 : getNotifyurl().hashCode());
        result = prime * result + ((getNotifycount() == null) ? 0 : getNotifycount().hashCode());
        result = prime * result + ((getResult() == null) ? 0 : getResult().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        result = prime * result + ((getLastnotifytime() == null) ? 0 : getLastnotifytime().hashCode());
        result = prime * result + ((getCreatetime() == null) ? 0 : getCreatetime().hashCode());
        result = prime * result + ((getUpdatetime() == null) ? 0 : getUpdatetime().hashCode());
        return result;
    }
}